#define  _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
//int binInsert(int n, int m, int j, int i) {
//    // write code here
//    int ret = n;
//    for (int k = 0; k < i - j + 1; k++)
//    {
//        ret |= ((m >> k) & 1) << (j + k);
//    }
//    return ret;
//}
//
//int main()
//{
//    cout << binInsert(1024, 19, 2, 6);
//    return 0;
//}


class Solution {
public:
    string tree2str(TreeNode* root) {
        string ret;
        if (root == nullptr)
            return "";
        ret += to_string(root->val);
        if (root->left || root->right)
        {
            ret += "(";
            ret += tree2str(root->left);
            ret += ")";
        }
        if (root->right)
        {
            ret += "(";
            ret += tree2str(root->right);
            ret += ")";
        }
        return ret;
    }
};